package com.zcc.lesson01;

import java.sql.*;

public class jdbcFirstDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //加载驱动，调用jar包里的方法
        Class.forName("com.mysql.cj.jdbc.Driver");//固定写法，加载驱动


        //用户信息和url
        String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
        String username = "root";
        String password = "root";

        //连接成功，数据库对象
        //通过getConnection方法，参数为设定的url，username，password就可以连接指定的数据库，以及设定
        //方法的返回值，也就是变量connection代表数据库
        //对变量connection进行操作就可以完成对数据库的操作
        Connection connection = DriverManager.getConnection(url, username, password);

        //执行SQL的对象
        Statement statement = connection.createStatement();

        //用执行SQL的对象去执行SQL语句，可能存在结果，查看返回结果
        String sql = "select * from users";

        //变量statement调用方法，参数为sql语句，相当于对数据库进行操作
        //返回值赋值给变量resultSet，这个结果集封装了全部查询的结果
        ResultSet resultSet = statement.executeQuery(sql);

        //因此可以通过这种遍历语句来打印所有的查询结果
        while (resultSet.next()){
            System.out.println("id="+resultSet.getObject("id"));
            System.out.println("name="+resultSet.getObject("name"));
            System.out.println("password="+resultSet.getObject("password"));
            System.out.println("email="+resultSet.getObject("email"));
            System.out.println("birth="+resultSet.getObject("birthday"));
        }
        //事务回滚，事务提交，自动提交
        connection.rollback();
        connection.commit();
        connection.setAutoCommit(false);

        //释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}
